package gpsTests;

import junit.framework.Assert;

import org.junit.Test;

import gps.Auto;
import gps.Camioneta4x4;
import gps.Estado;
import gps.Moto;
import gps.Posicion;
import gps.Vehiculo;


public class VehiculoTest {
	
	@Test
	public void deberiaObtenerElEstadoDelVehiculo(){
		
		Estado estado = Moto.obtenerEstado(); 
		Posicion posicion = new Posicion(1,1);
		Vehiculo vehiculo = new Vehiculo(estado, posicion);
		
		Assert.assertEquals(vehiculo.obtenerEstado(), estado);
	}
	
	@Test
	public void deberiaCambiarElEstadoDeMotoAAuto(){
		
		Estado estado = Moto.obtenerEstado(); 
		Posicion posicion = new Posicion(1,1);
		Vehiculo vehiculo = new Vehiculo(estado, posicion);
		
		vehiculo.cambiarEstado();
		Estado nuevoEstado = Auto.obtenerEstado();
		
		Assert.assertEquals(vehiculo.obtenerEstado(), nuevoEstado);	
	}

	@Test
	public void deberiaCambiarElEstadoDeAutoACamioneta4x4(){
		
		Estado estado = Auto.obtenerEstado(); 
		Posicion posicion = new Posicion(1,1);
		Vehiculo vehiculo = new Vehiculo(estado, posicion);
		
		vehiculo.cambiarEstado();
		Estado nuevoEstado = Camioneta4x4.obtenerEstado();
		
		Assert.assertEquals(vehiculo.obtenerEstado(), nuevoEstado);	
	}
	
	@Test
	public void deberiaCambiarElEstadoDeCamioneta4x4AMoto(){
		
		Estado estado = Camioneta4x4.obtenerEstado(); 
		Posicion posicion = new Posicion(1,1);
		Vehiculo vehiculo = new Vehiculo(estado, posicion);
		
		vehiculo.cambiarEstado();
		Estado nuevoEstado = Moto.obtenerEstado();
		
		Assert.assertEquals(vehiculo.obtenerEstado(), nuevoEstado);	
	}
}
